Design and printing of clothing labels

ABSTRACT

The disclosed system presents to a user a first group of options representing information to include in a label. The system receives a first selection of a portion of the options representing first selected information to include in the label. Upon receiving the first selection of the portion of the options, the system adjusts a second group of options presented to the user based on the first selection. The system receives a second selection of a portion of the second group of options indicating a second selected information to include in the label. The system sends the first selected information and the second selected information to a printer.

TECHNICAL FIELD

The present application is related to a clothing item care and content labels, and more specifically to methods and systems to electronically encode care and content information into a clothing item.

BACKGROUND

Printing a clothing label today is a complicated process involving multiple parties. A fashion house sends a request to a second party to design a clothing label for a particular garment. Upon receiving the clothing label design, the fashion house can repeatedly request additional changes to the design. Once the design is settled, the fashion house sends the label to a third-party to print. The printing of the label takes additional time. The whole process can take multiple weeks, and cost millions of dollars.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a system for minimizing consumption of textile in production of clothing item labels.

FIG. 2 shows a clothing item with a clothing item ID encoded within the clothing item.

FIG. 3 shows a communication system between the clothing item, one or more devices, and the cloud system, according to one embodiment.

FIG. 4 shows a communication system between the clothing item, one or more devices, and the cloud system, according to another embodiment.

FIG. 5 shows an example of care and content information displayed on a device of a user.

FIG. 6 shows a clothing item cleaning appliance reporting an error.

FIG. 7 is an example of organizing care and content information into bins.

FIG. 8 is a flowchart of a method to operate a clothing item cleaning appliance in accordance with care and content information of a clothing item.

FIG. 9 is a system to operate a clothing item cleaning appliance according to a care and content information of the clothing item.

FIG. 10 is a flowchart of a method to minimize consumption of textile used in manufacturing of a clothing item label.

FIG. 11 is a system to encode clothing item ID within a clothing item.

FIG. 12 is a flowchart of a method to increase accuracy of a care and content information associated with a clothing item label.

FIG. 13 shows a data structure storing clothing item information.

FIG. 14 shows a data structure storing user information.

FIGS. 15A-15B show various meta-data structures.

FIG. 16 is a flowchart of a method to efficiently respond to a query regarding a clothing item.

FIG. 17 is a flowchart of a method to enable efficient updates to care and content information of a clothing item.

FIG. 18 is a flowchart of a method to create a system to efficiently respond to an anticipated query.

FIG. 19 is a flowchart of a method to create a system to efficiently update care and content information of a clothing item.

FIG. 20 shows a platform to create and print a label.

FIGS. 21A-C show a platform that adjusts based on user selections.

FIGS. 22A-22D show various layouts of a label that the platform can produce.

FIG. 23 shows an architecture of a system to create and print a label.

FIG. 24 is a flowchart of a method to create a label, according to one embodiment.

FIG. 25 is a flowchart of a method to create a label, according to another embodiment.

FIG. 26 is a diagrammatic representation of a machine in the example form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies or modules discussed herein, may be executed.

DETAILED DESCRIPTION Technology

Disclosed here is a system and method to design and print a clothing label on a single platform. The disclosed system can present to a user a plurality of options representing information to include in a clothing label. The system can receive selected information to include in the clothing label. By allowing users to select predetermined information from a list of options, the system eliminates typing errors and spelling errors that can be introduced by a user typing. Consequently, by eliminating errors, the system reduces the amount of non-sustainable material contained in ribbons used to print clothing labels. The system can obtain a layout template associated with the user, such as whether the label is horizontal or vertical. Based on the selected information and the layout template, the system can determine a layout of the clothing label, where the layout of the clothing label can include a front side and a backside, and where the clothing label includes the selected information. The system can create a visualization of the layout of the clothing label. Upon receiving an indication to print the clothing label, the system can print the clothing label to include the selected information. The printer can print information as text and/or QR code on the clothing label. The printer can also print information on an electronic device embedded in the clothing label, which in turn can communicate the printed information using a wireless protocol such as RFID, NFC, Bluetooth, etc.

FIG. 1 shows a system for minimizing consumption of textile in production of clothing item labels. The system 100 includes a cloud system 110, a communication network 120, administrators 130, and users 140. Both administrators 130 and users 140 can be users of the system. The cloud system 110 receives through the communication network 120 various information regarding care and content of various clothing items. The cloud system 110 can be located on a server, a desktop computer, laptop computer, a cloud computer, etc. The communication network 120 can be a local area network (LAN), metropolitan area network (MAN), a wide area network (WAN), a public data network (e.g., the Internet), short range wireless network, a cellular network, etc.

Administrators 130 can be clothing item manufacturers, and/or designers. Administrators 130 can input and store care and content information for each clothing item on the cloud system 110, along with an identification (ID) for each clothing item. The care and content information includes information regarding materials contained in the clothing item, percentage of each material contained in the clothing item, and washing, drying, ironing instructions for each material. For example, content information can include percentage of each material contained in the clothing item and can specify “80% percent cotton, 20% polyester.” Additionally, the content information can include size of the clothing item, size chart, color of the item, place of manufacturing of the clothing item, brand of the clothing item, etc. For example, the care information (i.e. care instructions) can include the following: “Machine wash cold. Wash with like colors. Do not bleach. Tumble dry low. Warm iron if necessary.” The care information can also include best brands of cleaning agents, such as best brand of a detergent, a bleach, a softener, etc., to use for the clothing item.

The clothing item ID can be an alphanumeric string that uniquely identifies a single clothing item. Alternatively, the identification can be an alphanumeric string that uniquely identifies all clothing items made by the same brand and/or apparel company, identical to each other except varying in size. In addition, the identification can be an alphanumeric string that uniquely identifies all clothing items that have the same material content in terms of percentage. The clothing item ID can also be encoded within a logo of the clothing item. For example, small variations in the logo, imperceptible to the human eye, but machine-readable, can encode the clothing item ID.

The administrators 130 can dynamically update the care information for any clothing item, even after the sale of the clothing item. For example, when the administrators 130 discover a method to wash the clothing item such that the longevity of the clothing item is extended, the administrators 130 can update the care and content information on the cloud system 110, even after the clothing item has been sold.

The users 140 can be the buyers of the clothing item or professional cleaners such as dry cleaners. The clothing item ID is stored within the clothing item, and a user device such as a mobile device, or a clothing item cleaning appliance can read the clothing item ID. Upon reading the clothing item ID, the user device can query the cloud system 110 for the care and content information of the clothing item. Once the user device receives the care and content information for the clothing item, the clothing item cleaning appliance can proceed in operating according to the care and content information.

FIG. 2 shows a clothing item with a clothing item ID encoded within the clothing item. The clothing item 200 is a garment, however, the clothing item 200 can be a footwear, a purse, a backpack, a hat, a cap, a hair accessory, a sling, a baby carrier, and/or any item capable of being worn by a person. The clothing item 200 can have the clothing item ID recorded within the clothing item. For example, the clothing item ID can be recorded in a radio-frequency identification (RFID) tag, a near field communication (NFC) tag, a quick response (QR) code, a barcode, a Bluetooth transmitter, a wireless frequency (Wi-Fi) transmitter, or a global positioning system (GPS) transmitter, etc. The clothing item ID so recorded can be affixed on the clothing item label 210, on the clothing item tag 220, or within the fabric of the clothing item 200, etc. In one embodiment, the clothing item ID can be recorded in an e-textile that is a part of the clothing item fabric. E-textiles, also known as smart clothing items, smart clothing, electronic textiles, smart textiles, or smart fabrics, are fabrics that enable digital components (including small computers), and electronics to be embedded in them. The digital component carries the clothing item ID encoded within. The digital component can be an electronic device 230 such as an RFID tag, an NFC tag, a Bluetooth transmitter, a Wi-Fi transmitter, a GPS transmitter, etc. The digital component included in the e-textile, affixed to the clothing item label, or affixed to the clothing item itself, can be coated in polyurethane to protect the digital component from moisture and heat when the clothing item is washed, dried, ironed, etc.

FIG. 3 shows a communication system between the clothing item, one or more devices, and the cloud system, according to one embodiment. The communication system includes a clothing item ID 330 encoded within the clothing item 300, one or more devices 310, 320, and the cloud system 110. In this example, one or more devices 310, 320 include a user device 310, and a clothing item cleaning appliance 320. The clothing item cleaning appliance 320 can be a washing machine, a drying machine, a dry cleaning appliance such as Swash, an ironing appliance, a steaming appliance, etc. The user device 310 can be a cell phone, a tablet, or a device configured to read the clothing item ID, such as an RFID reader, NFC reader, barcode reader, etc.

The user device 310 reads the clothing item ID 330 from the clothing item 300, and queries the cloud system 110 for care and content information associated with the clothing item ID 330. Upon receiving the care and content information from the cloud system 110, the user device 310 communicates the care and content information to the clothing item cleaning appliance 320. The clothing item cleaning appliance 320 sets its operation parameters to match the care and content information received from the user device 310. When there are multiple items with conflicting care and content information placed in the clothing item cleaning appliance 320, the clothing item cleaning appliance 320, or the user device 310 can display an error, as described with respect to FIG. 6.

For example, the care and content information can specify “machine wash cold. Wash with like colors. Do not bleach.” When the clothing item cleaning appliance 320 is a washing machine, the washing machine 320 sets the wash cycle to cold. In another example, the care and content information can specify “tumble dry low.” When the clothing item cleaning appliance 320 is a dryer, the dryer 320 sets the dry cycle to “tumble dry low.”

The user device 310 can also display the care and content information received from the cloud system 110 to a user of the user device 310. Based on the geolocation of the user device 310, or based on user preferences stored in the user device 310, the care and content information can be translated into a language that the user understands.

In one embodiment, the cloud system 110 receives the geolocation of the user device 310, and based on the geolocation of the user device 310, the cloud system 110 translates the care and content information into the language associated with the geolocation of the user device 310. In another embodiment, the cloud system 110 receives the user preferences stored in the user device 310, such as the user's language preference. Based on the user's language preference, the cloud system 110 translates the care and content information into the appropriate language. Similarly, the translation can be performed on the user device 310, instead of the cloud system 110. When the user's language preference is specified, the user's language preference overrides the geolocation of the user device 310. For example, if the user device 310 is located in United States, however the user preferences specify “Spanish” as the user's language preference, the user device 310 displays the care and content information in Spanish.

FIG. 4 shows a communication system between the clothing item, one or more devices, and the cloud system, according to another embodiment. The communication system includes a clothing item ID 330 encoded within the clothing item 300, one or more devices 400, 320, and the cloud system 110. The communication system in FIG. 4 is similar to the communication system in FIG. 3. However, unlike in FIG. 3, in this example, the device communicating with the cloud system 110 is the clothing item cleaning appliance 400. The clothing item cleaning appliance 400 can be a washing machine, a drying machine, a dry cleaning appliance such as Swash, an ironing appliance, a steaming appliance, etc.

The clothing item cleaning appliance 400, in addition to performing clothing item cleaning appliance functions as described in FIG. 3, performs all the functions of the user device 310, as described in FIG. 3. For example, the clothing item cleaning appliance 400 can communicate its geolocation to the cloud system 110, can store user specified language preference and communicate the user-specified language preference to the cloud system 110. The clothing item cleaning appliance 400 can contain a display to show care and content information received from the cloud system 110 to the user.

The clothing item cleaning appliance 400 can include one or more readers 410, 420, 430 to obtain the clothing item ID 330 encoded within the clothing item 300. One or more readers 410, 420, 430 can be an RFID tag reader, an NFC tag reader, a camera, a Bluetooth transceiver, a GPS transceiver, and/or a Wi-Fi transceiver, etc. The one or more readers 410, 420, 430 can be placed outside the clothing item cleaning appliance 400, or can be placed inside the clothing item cleaning appliance 400.

FIG. 5 shows an example of care and content information displayed on a device of a user. The device 500 can be a user device, such as a cell phone, a tablet, etc. The device 500 can read the clothing item ID 510, and retrieve care and content information from the cloud system 110. The care and content information can be shown to the user on the display 530 of the device 500. The care and content information can include size of the item, washing instructions, designer of the item, materials used in the item, geolocation of manufacturing the item, size chart used in determining the size of the item, color of the item, etc. Such information can be useful to a consumer considering whether to buy the clothing item 520. The information displayed on the device 500 can be translated into the language that the consumer can understand. The translation can be based on the language associated with the geolocation of the device 500, or the translation can be based on the user's language preference stored in the device 500, as described in this application.

FIG. 6 shows a clothing item cleaning appliance reporting an error. The clothing item cleaning appliance 600 can be a washing machine, drying machine, a dry cleaning appliance such as a Swash appliance, an ironing appliance, a steaming appliance, etc. The clothing item cleaning appliance can include one or more clothing item ID readers 610, 620 which can read clothing item clothing item IDs placed within the clothing item cleaning appliance 600. The clothing item ID readers 610, 620 can be an RFID tag reader, an NFC tag reader, a camera, a Bluetooth transceiver, a GPS transceiver, and/or a Wi-Fi transceiver, etc., and can be placed inside or outside of the clothing item cleaning appliance 600. Once the clothing items 630, 640 have been placed inside the clothing item cleaning appliance 600, the clothing item cleaning appliance 600 can obtain the care information from a cloud system. The clothing item cleaning appliance 600 can obtain the care information by directly communicating with the cloud system as described in FIG. 4, or by communicating with a user device 650 which in turn communicates with the cloud system as described in FIG. 3.

The clothing item cleaning appliance 600, or the user device 650, can receive care and content information from the cloud system for each of the clothing items placed inside the clothing item cleaning appliance 600. The clothing item cleaning appliance 600, or the user device 650 can compare the received care and content information to determine if the received care and content information for each of the clothing items 630, 640 inside the clothing item cleaning appliance 600 is the same. When the received care content information for each of the clothing item 630, 640 is not the same, the clothing item cleaning appliance 600 or the user device 650 can report an error to a user. The error can be displayed on a display of the clothing item cleaning appliance 600, or the display of the user device 650. In one embodiment, the user can override the error, and manually specify settings according to which the clothing item cleaning appliance 600 should operate. In another embodiment, the user can override the error, and let the clothing item cleaning appliance 600 select the operating settings. For example, the clothing item cleaning appliance 600 can choose the gentlest operating setting, out of all received operating settings.

For example, when the care and content information for garment 630 specifies “machine wash cold”, while the care and content information for garment 640 specifies “dry clean only,” the clothing item cleaning appliance 600 or the user device 650 can display an error such as “dry clean only: please remove the Donna Karan Cashmere sweater.” Clothing item cleaning appliance 600 or the user device 650 receives the care and content information that garment 640 is a Cashmere sweater, that the garment 640 is dry-clean only, and that the garment 640 is made by Donna Karan. If the user overrides the reported error, the clothing item cleaning appliance 600 or the user device 650 can choose the gentlest operating settings. In the present case, if “dry clean” setting is not available, and the gentlest operating setting is “hand wash,” the clothing item cleaning appliance 600 proceeds to operate under “hand wash” settings. In another example, the care and content information for garment 630 can specify “machine wash hot,” while the care and content information for garment 640 can specify “machine wash warm.” In that case, the clothing item cleaning appliance or the user device 650 can choose the gentlest operating settings, which in this case are “machine wash warm.”

In another example, when the care and content information for garment 630 specifies “machine wash cold. Wash with like colors. Color red”, while the care and contact information for garment 640 specifies “Machine wash cold. Color green”, the clothing item cleaning appliance 600 or the user device 650 can display an error such as “different colors: please remove all non-red items.” If the user overrides the reported error, the clothing item cleaning appliance 600 or the user device 650 can choose the gentlest operating setting, such as “hand wash”, to avoid color bleeding.

Similarly, when the clothing item cleaning appliance 600 is a dryer, or an ironing appliance, the clothing item cleaning appliance 600 can report an error when the settings of the clothing item cleaning appliance 600 do not match the care and content information received from the cloud system.

FIG. 7 is an example of organizing care and content information into bins. The user device 700 obtains clothing item ID 710, from the clothing item 720. In one embodiment, the user device 700 sends the clothing item ID 710, a user identification (user ID), geolocation of the user device 700, and/or the user's language preference to a cloud system 110. The cloud system 110 can associate the clothing item ID 710 with the user ID, and can create a digital wardrobe associated with the user ID. The digital wardrobe can be organized into bins according to care and content instructions. For example, a bin contains all of the clothing item IDs that have the same care information for a particular clothing item cleaning appliance. In a more specific example, the bin contains all the clothing item IDs that have the same wash instructions; or the bin can contain all the clothing item IDs that have the same dry instructions; or the bin can contain all the clothing item IDs that have the same ironing instructions. In FIG. 7, display 730 of the user device 700 shows bins that contain all the clothing item IDs that have the same wash instructions. Based on the geolocation of the user device 700, and/or the user's language preference, the user device 700 shows bins in a language that the user can understand. In another embodiment, a clothing item cleaning appliance organizes the clothing item IDs into bins, and displays them to the user in the language of the user can understand.

FIG. 8 is a flowchart of a method to operate a clothing item cleaning appliance in accordance with care and content information of a clothing item. In step 800, a processor obtains information encoded in a clothing item. The information includes an identification (ID) of the clothing item. The information can be encoded in the clothing item in various ways, such as a radio-frequency identification (RFID) tag, a near field communication (NFC) tag, a quick response (QR) code, a barcode, a Bluetooth transmitter, a Wi-Fi transmitter, a GPS transmitter, etc. The information can be encoded in an e-textile, or smart clothing, as a digital component embedded in a fabric of the clothing item. The information can be affixed to the care content label, can be printed onto the clothing item, or woven into the clothing item as a fabric, a thread, a button, a bead, etc., containing the digital component.

In step 810, the processor retrieves from a database care and content information of the clothing item. The care and content information is associated with the clothing item ID in the database. The care and content information can be washing instructions, drying instructions, ironing instructions, etc. The care and content information can include recommendations regarding which cleaning agents to use, such as which detergent, bleach, or fabrics softeners are best.

In step 820, the processor automatically groups the clothing item with multiple clothing items having care and content information corresponding to the care and content information of the clothing item, e.g. having the same care and content information. For example, in automatically grouping the multiple clothing items, the processor can detect that multiple clothing items placed inside the clothing item cleaning appliance have disparate care and content information. Upon detecting disparate care and content information, the processor can send a notification, which includes an indication that multiple clothing items placed inside the clothing item cleaning appliance have disparate care and content information. The notification can be an error code, or text, displayed on the user device, or on the clothing item cleaning appliance. The text can be translated into a user preferred language, as described in this application. The processor can allow the user to override the error, and force the operation of the clothing item cleaning appliance. The operating settings of the clothing item cleaning appliance can be set by the user, or the clothing item cleaning appliance can select gentlest settings out of the disparate care and content information.

In another example, in automatically grouping the clothing items, the processor can check whether the capacity of the clothing item cleaning appliance has been exceeded once all the clothing items have been placed into the clothing item cleaning appliance. The processor can send a notification which includes an indication that the capacity of the clothing item cleaning appliance has been exceeded. The notification can be an error code, or text, displayed on the user device, or on the clothing item cleaning appliance. The text can be translated into a user preferred language, as described in this application. The notification can also include a suggestion of how many clothing items to remove, or which specific clothing items to remove. In a more specific example, the notification can say “please remove the Donna Karan sweater, and the Abercrombie and Fitch blouse,” or the notification can say “please remove two clothing items from the clothing item cleaning appliance.”

In a third example, in automatically grouping the clothing items, the processor can organize multiple clothing items belonging to the user into multiple bins. Each bin among multiple bins includes clothing items that have the same care and content information. The processor can display the information contained in multiple bins to the user, in the user's language preference, as described in this application.

In step 830, the processor operates a clothing item cleaning appliance in accordance with the care and content information retrieved in step 810. The clothing item cleaning appliance can be a washing machine, a drying machine, a dry cleaning machine such as Swash, an ironing appliance, a steaming appliance, etc. In determining the operating settings of the clothing item cleaning appliance, the processor can adjust the operating settings to be the optimal settings for the clothing items inside the clothing item cleaning appliance. The optimal settings may not be available to a user operating the clothing item cleaning appliance manually. For example, the processor detects that the clothing items placed within a washer are 100% cotton. The processor retrieves from the database that the optimal settings for a washing machine washing cotton are 108° C., and cycle length 30 minutes. Even though settings of 108° C. and cycle length 30 minutes are not available as a button on the washing machine, the washing machine can proceed in washing the clothing items according to the optimal settings for 100% cotton.

Upon completing the operation of the clothing item cleaning appliance, the processor can send to the database settings of the clothing item cleaning appliance during the operation, and the clothing item ID subjected to the operation of the clothing item cleaning appliance. Once the database receives the operating settings of the clothing item cleaning appliance, the database can track how many times the clothing item ID has been cleaned, and at what settings.

The processor can be part of the clothing item cleaning appliance, or the processor can be part of a device separate from the clothing item cleaning appliance such as a user device. The user device can be a cell phone, a tablet, a home system, etc. When the processor is part of the device separate from the clothing cleaning item appliance, the processor sends the retrieved care and content information to the clothing item cleaning appliance.

FIG. 9 is a system to operate a clothing item cleaning appliance according to a care and content information of the clothing item. The system includes a code reader 900, a receiving module 910, a database communication module 920, an appliance communication module 930, and an optional translation module 940. The code reader 900 obtains information encoded in a clothing item including an identification (ID) of the clothing item. The code reader 900 can beam an RFID tag reader, an NFC tag reader, a camera, a Bluetooth receiver, Wi-Fi receiver, or a GPS receiver. The clothing item ID can be printed on the clothing item label, on the clothing item itself, or woven within the fabric of the clothing item.

The receiving module 910 receives the ID from the code reader and passes it to the database communication module 920. Database communication module 920 retrieves from a database care and content information for the clothing item, by sending the clothing item ID to the database, and in return receiving the care and content information associated with the ID in the database. The care and content information can be washing instructions, drying instructions, ironing instructions, color of the clothing item, materials contained in the clothing item, etc., as described in this application.

Appliance communication module 930 automatically groups the clothing item with multiple clothing items having care and content information corresponding to the care and content information of the clothing item and operates a clothing item cleaning appliance in accordance with the care and content information for the clothing item. The clothing item cleaning appliance can be a washing machine, a drying machine, a dry-cleaning machine, an ironing appliance, a steaming appliance, etc. The appliance communication module 930 can send instructions to the clothing item cleaning appliance and can receive information from the clothing item cleaning appliance. The instructions can contain operating settings of the clothing item cleaning appliance, and/or a time to start the operation. The information received from the clothing item cleaning appliance can include the IDs of the clothing items inside the clothing item cleaning appliance, and/or an operating settings of the completed cycle.

The appliance communication module 930 can detect that multiple clothing items placed inside the clothing item cleaning appliance have disparate care and content information. Upon detecting disparate care and content information, the appliance communication module 930 can send a notification, to a user, that multiple clothing items placed inside the clothing item cleaning appliance have disparate care and content information. The notification can be an error code displayed on the user device, or on the clothing item cleaning appliance. The appliance communication module 930 can allow the user to override the error, and specify operating settings for the clothing item cleaning appliance. Further, upon detecting disparate care and content information, the appliance communication module 930 can determine a gentlest operating settings from the care and content information of multiple clothing items, and operate the clothing item cleaning appliance according to the gentlest operating settings. For example, if care and content information of one clothing item specify “machine wash cold”, while the rest of the care and content information specify “machine wash hot,” the appliance communication module 930 can determine to operate the clothing item cleaning appliance according to the “machine wash cold” operating settings.

The translation module 940 can determine a user preferred language based on geolocation of the processor, or the user's language preference. The translation module 940 can translate information presented to the user into the user preferred language. When the translation module 940 receives both the user's language preference and the geolocation of the processor, the translation module 940 translates received text according to the user's language preference.

The receiving module 910, the database communication module 920, the appliance communication module 930, and the translation module 940 can be implemented on a processor 950 mounted within the clothing item cleaning appliance. The receiving module 910, the database communication module 920, the appliance communication module 930, and the translation module 940 can be implemented on a processor 950 mounted within a device separate from the clothing item cleaning appliance, such as a cell phone, a tablet, a personal digital assistant, a home system, etc. The processor 950 can be a microcontroller, a microprocessor, a programmable logic device, special purpose hardware, etc.

FIG. 10 is a flowchart of a method to minimize consumption of textile used in manufacturing of a clothing item label. In step 1000 consumption of textile used in manufacturing of a clothing item label is minimized by a manufacturing system (such as a clothing item printer) encoding a clothing item identification (ID) of the clothing item within the clothing item. Instead of using hundreds of thousands of mile of textile to create clothing item labels containing information about washing instructions, drying instructions, color, materials contained in the clothing item, etc., all the that is printed on the label can be a unique clothing item ID. The clothing item ID can be an alphanumeric string including letters numbers, special characters etc. The clothing item ID can be “DK123M!” Further, the clothing item ID can be printed in ink on the clothing item, or can be contained in the e-textile fibers of the clothing item. The clothing item ID can be encoded in at least one of a radio-frequency identification (RFID) tag, a near field communication (NFC) tag, a quick response (QR) code, a barcode, a Bluetooth transmitter, a Wi-Fi transmitter, a GPS transmitter, etc.

In addition, manufacturers of clothing item labels print the care and content label information in multiple languages because, at the time of manufacturing, manufacturers do not know where the clothing item with the affixed label is going to be sold. Using the technology disclosed here, translation is not necessary, because the translation of the care and content information is performed electronically based on the geolocation of a device reading the clothing item ID, or based on a user's language preference.

In step 1010, the manufacturing system (such as computers used in manufacturing) can send care and content information and the clothing item ID to a database. The care and content information can include a content of the clothing item, such as a material contained in the clothing item, and a percentage of the material contained in the clothing item.

In step 1020, the database can link the care and content information and the clothing item ID within the database. In step 1030, the database can store the care and content information and the clothing item ID in the database. The database can be part of the manufacturing system.

A user device of a user can send a query to the database, where the query includes the clothing item ID in the database. Upon receiving a query from the user device, the database obtains a geolocation of the user device querying the database. Based on the geolocation of the user device, the database sends a response to the query to the user device, the response translated into a language associated with the geolocation of the user device. Alternatively, the response can be translated into a language which the user indicates as the user's language preference. The user's language preference can override the language associated with the geolocation of the device.

A processor associated with the database can determine care and content information for the clothing item based on the material contained in the clothing item and the percentage of the material contained in the clothing item. For example, the processor can retrieve from the database multiple care and content information associated with multiple clothing items. When at least one care and content information among multiple care and content information is the same as the care and content information of the clothing item, (i.e. materials and material percentages are the same), the processor determines that the care information for the clothing item should be the same as the care information for the matching item. For example, when the clothing item contains 80% cotton and 20% spandex, and the matching item also contains 80% cotton and 20% spandex, the care information from the matching item are associated with the care and content information of the clothing item.

When none of multiple care and content information corresponds to the content of the clothing item, the processor can use machine learning to determine the care and content information for the clothing item. For example, a machine learning system can determine a new set of care information based on multiple care and content information associated with multiple clothing items. The care information can include washing instructions, drying instructions, ironing instructions, recommendations on which cleaning agents to use such as bleach, detergent, softener, etc. Once the machine learning determines the new set of care information, an administrator can clean the clothing item according to the new set of care information and provide feedback to the machine learning system whether the new set of care information performed well in cleaning the clothing item. Based on the feedback from the administrator, the machine learning system can positively or negatively reinforce the method used in reaching the new set of care information. For example, if the machine learning system is a neural network, and the feedback received from the administrator is positive feedback, the strength of the connections between the neurons that produced the new set of care information can be strengthened. Conversely, if the machine learning system is a neural network, and the feedback received from the administrator is negative feedback, the strength of the connections between the neurons that produced the new set of care information can be weakened.

In another embodiment, when none of multiple care and content information corresponds to the content of the clothing item, the processor can retrieve from the database multiple care and content information associated with multiple clothing items. Among multiple care and content information, the processor can find a clothing item having a content closest to the content of the clothing item. The closest content can be measured as root mean square deviation. For example, the clothing item content is 70% cotton, 15% spandex, and 15% polyester. First clothing item among multiple clothing items has content of 80% cotton, and 20% spandex, while the second clothing item among multiple clothing items has content of 70% cotton, 15% spandex and 15% nylon. The root mean square distance to the first clothing item is Sqrt((70-80)²+(15-20)²+(15-0)²)=18.7. The root mean square distance to the second clothing item is Sqrt((70-70)²+(15-15)²+(15-0)²+(0-15)²)=21.2. Thus, the content of the first clothing item is closest to the content of the clothing item under consideration. The processor determines the care and content information of the clothing item under consideration to correspond to care and content information of the first clothing item. In another embodiment, instead of determining the clothing item having the content closest to the content of the clothing item under consideration, the processor can linearly interpolate between care information of various clothing items. Once the processor has determined the care information for the clothing item under consideration, the processor updates the database to include the determined care and content information for the clothing item.

The processor can also track a number of times the clothing item has been subjected to a clothing item cleaning appliance. For example the processor can track the number of times the clothing item has been washed, dried, dry-cleaned, ironed, steamed, etc. The processor can also track the operating settings of the clothing item cleaning appliance that the clothing item has been subjected to. When the number of times the clothing item has been subjected to the clothing item cleaning appliance exceeds a certain threshold, for example 50 times, the processor can offer to a user to purchase a new clothing item, identical to the clothing item. The processor can perform the purchase after a single click authorization from the user. In addition, when the clothing item has been subjected to operating settings of the clothing item cleaning appliance that are harsher than the operating settings specified in the clothing item label, the processor can also offer to the user to purchase a new clothing item identical to the clothing item, after a single click authorization from the user.

The processor can track the content of multiple clothing items upon sale. The processor can determine the content with a highest number of sales, and send a notification to a user that the determined content has the highest number of sales. The notification can be sent to manufacturers, clothes designers, or end-users.

The processor can organize multiple clothing items associated with a user into multiple bins, where each bin among multiple bins includes clothing items that have the same care and content information. The processor can send information contained in multiple bins to the user.

FIG. 11 is a system to encode clothing item ID within a clothing item. The system includes a communication layer 1100, a routing engine 1110, a clothing item analyzer 1120, a profile processor 1130, a suggestion engine 1140, and an optional translation module 1150. The communication layer 1100 communicates with an administrator, and a user.

The routing engine 1110 can distribute a message received at the communication layer 1100 to at least one of a clothing item analyzer 1120, profile processor 1130, or a suggestion engine 1140. Further, the routing engine 1110 can send a message received from at least one of the clothing item analyzer 1120, the profile processor 1130, or the suggestion engine 1140 to the communication layer 1100.

The clothing item analyzer 1120 can organize multiple clothing item IDs into multiple categories based on care and content information associated with multiple clothing item IDs. For example, the clothing item analyzer 1120 can organize multiple clothing item IDs into groups based on clothing item type, clothing item data, clothing item brand, etc. Information regarding clothing item type, clothing item data, clothing item brand, etc. is stored in the care and content information associated with the clothing item ID. Clothing item type can be shoes, purses, backpacks, hats, jackets, pants, skirts, dresses, etc. Based on the data stored in the care and content information, the clothing item analyzer can analyze the data and create various reports, such as quantities of the clothing item produced for particular season. Clothing item data can include information, such as country of origin, clothing item manufacturer, quantity of the clothing item produced for a particular season, style number, price, clothing item name, etc. The clothing item analyzer 1120 can collect, process, and deliver the clothing item data to apparel companies, end users, logistics companies, customs, warehouses and retailers. Clothing item brand can include the apparel company or the brand name associated with the clothing item.

The profile processor 1130 organizes user information such as a user identification and clothing item IDs associated with the user. The profile processor 1130 can analyze information about users, user history, user contact information, user wardrobe, user bins and how the user organizes the washing bins, specifically, whether the washing bins are organized by garment type, by washing instructions, or by brands. The profile processor 1130 can also recommend to the user a clothing item to purchase based on a clothing item brand associated with multiple clothing item IDs, clothing item type associated with multiple clothing item IDs, and/or content information associated with multiple clothing item IDs. Further, the profile processor 1130 can track a number of times the clothing item has been subjected to the clothing item cleaning appliance, and/or the operating settings of the clothing item cleaning appliance. For example, when the number of times the clothing item has been subjected to the clothing item cleaning appliance exceeds a certain threshold (e.g. 50 times), the profile processor 1130 can offer to perform a one click replacement purchase of the identical clothing item for the user. In another example, when the operating settings of the clothing item cleaning appliance are harsher than the recommended care information of the clothing item, the profile processor 1130 can offer to perform the one click replacement purchase of the identical clothing item.

The suggestion engine 1140 analyzes care and content information of multiple clothing item IDs. Based on the analysis of care and content information, the suggestion engine 1140 can provide suggestions about updates to the care and content information. The suggestion engine 1140 can retrieve from the database multiple care and content information associated with multiple clothing items, such as washing instructions, drying instructions, content information, etc. Among multiple care and content information, the suggestion engine 1140 can find a clothing item having a content closest to the content of the clothing item. The closest content can be measured as root mean square deviation. For example, the clothing item content is 70% cotton, 15% spandex, and 15% polyester. First clothing item among multiple clothing items has content of 80% cotton, and 20% spandex, while the second clothing item among multiple clothing items has content of 70% cotton, 15% spandex and 15% nylon. The root mean square distance to the first clothing item is Sqrt((70-80)²+(15-20)²+(15-0)²)=18.7. The root mean square distance to the second clothing item is Sqrt((70-70)²+(15-15)²+(15-0)²+(0-15)²)=21.2. Thus, the content of the clothing item is closest to the content of the clothing item under consideration. The suggestion engine 1140 determines the care and content information of the clothing item under consideration to correspond to care and content information of the first clothing item. In another embodiment, instead of determining the clothing item having the content closest to the content of the clothing item under consideration, the suggestion engine 1140 can linearly interpolate between care information of various clothing items. Once the suggestion engine 1140 has determined the care information for the clothing item under consideration, the suggestion engine 1140 updates the database to include the determined care and content information for the clothing item.

Further, the suggestion engine 1140 can use machine learning to update care information, or to create new care information for a clothing item when materials and material percentage contents are not in the database. In addition, the suggestion engine 1140 can make suggestions to administrators regarding the most popular materials sold in stores, as described in this application. Once the machine learning determines the new set of care information, an administrator can clean the clothing item according to the new set of care information and provide feedback to the machine learning system whether the new set of care information performed well in cleaning the clothing item. Based on the feedback from the administrator, the machine learning system can positively or negatively reinforce the method used in reaching the new set of care information. For example, if the machine learning system is a neural network, and the feedback received from the administrator is positive feedback, the strength of the connections between the neurons that produced the new set of care information can be strengthened. Conversely, if the machine learning system is a neural network, and the feedback received from the administrator is negative feedback, the strength of the connections between the neurons that produced the new set of care information can be weakened.

The translation module 1150 can receive user information including a geolocation of a user device, and/or the user's language preference. When the user's language preference is specified, the translation module 1150 can translate the message received from at least one of the clothing item analyzer 1120, the profile processor 1130, or the suggestion engine 1140 to the communication layer 1100 to a language indicated in the user's language preference. The translation module 1150 can then send the translated message to the communication layer 1100. When the user's language preference is not specified, the translation module 1150 can translate the message into a language associated with the geolocation of the user device.

FIG. 12 is a flowchart of a method to increase accuracy of a care and content information associated with a clothing item label. In step 1200, a processor can increase the accuracy of care and content information contained in a clothing item label by causing a clothing item ID to be encoded within the clothing item. The clothing item ID can be encoded within an RFID tag, an NFC tag, a barcode, a QR code etc., as described in this application.

In step 1210, the processor can send care and content information and the clothing item ID to a database. The care and content information can include a content information of the clothing item such as a material contained in the clothing item and a percentage of the material contained in the clothing item, the care information of the clothing item such as washing instructions. In step 1220, the processor can link the care and content information and the clothing item ID within the database.

In step 1230, the processor can obtain an updated care and content information of the clothing item. For example, the processor can obtain the updated care and content information from administrator, correcting a prior error in the care and content information, or updating the care and content information based on newly available findings, such as which detergent is best for the clothing item.

In another example, the processor can obtain the updated care and content information by using machine learning to determine the care information for the clothing item based on multiple care and content information associated with multiple clothing items, as described in this application. In a third example, the processor can find a first clothing item among multiple clothing items having a content information closest to the content information of the clothing item. Closest content information can be measured using the root mean square deviation, as described in this application. The processor can determine the care information to correspond to the care information of the first clothing item. When there are multiple clothing items with the same root mean square deviation from the clothing item under consideration, and multiple clothing items have different care information, the processor can either randomly select one of multiple clothing items, or the processor can linearly interpolate between the care information of multiple clothing items.

In step 1240, the processor can update the care and content information of the clothing item in the database with the updated care and content information of the clothing item. In step 1250, the processor, upon receiving a query from a user device, can send the updated care and content information of the clothing item to the user device.

FIG. 13 shows a data structure storing clothing item information. The data structure 1300 is organized to enable efficient response to an anticipated query by defining multiple fields 1310, 1320, 1330, 1340 (only four labeled for brevity) corresponding to the anticipated query. Further, the data structure 1300 enables an efficient update because multiple fields 1310, 1320 correspond to an anticipated update. Multiple fields 1310, 1320, 1330, 1340 can include: an ID field 1310 containing the ID associated with the clothing item; a content field 1320 containing the content information of the clothing item; a care field containing the care information of the clothing item; a place of manufacture field containing information about the place of manufacture of the clothing item; a type field containing information regarding the type of garment such as shoes, purses, pants, a brand field; a size field containing information such as small, medium, large; a size chart field containing information regarding measurements associated with the small, medium, large sizes; etc.

The most likely anticipated queries regarding a clothing item are captured in the name of the field such as content, care, size, etc. Further, the most likely updates to a clothing item are to the care field. The updates can change the washing instructions, drying instructions, ironing instructions, or recommend particular cleaning agents to use, such as bleach, fabric softener, etc.

The data structure 1300 can include at least two optional fields 1330, 1340. The field 1330 indicates whether the ID of the clothing item is unique to the clothing item. The indication whether the ID of the clothing item is unique can be obtained by reading the clothing item ID encoded within the clothing item. Additionally a database can store a lookup table indicating which clothing item IDs are unique. If the clothing item ID is unique, a processor can dynamically create the field 1340 to store history of the clothing item. For example, the history can contain washing history of the clothing item, purchasing history of the clothing item, transportation history of the clothing item, distribution history of the clothing item, etc. Once the clothing item with a unique clothing item ID has been purchased, the processor stores the purchase information in the history of field 1340 of the data structure 1300. Further, once the clothing item with the unique clothing item ID has been washed, the processor stores the washing cycle information in the history field 1340 of the data structure 1300.

Any field 1310, 1320, 1330, 1340 in the data structure 1300 can include a nested data structure. In FIG. 13, the field 1320 contains a nested data structure, that is, the field 1320 itself is a data structure 1350. The data structure 1350 includes fields 1360, 1370, 1380, 1390 that specify content information of the clothing item. Field 1360 contains materials included in the clothing item, while the corresponding field 1370 includes percentages of the respective materials included in the clothing item. Field 1380 specifies the color of the clothing item, while field 1390 specifies whether there is an application on the clothing item, such as beading, sequins, etc. In another embodiment, the care field of the data structure 1300 can itself be a new data structure which contains fields corresponding to washing instructions, drying instructions, ironing instructions, preferred cleaning agents, etc.

FIG. 14 shows a data structure storing user information. The data structure 1400 contains fields 1410, 1420, 1430. Field 1410 specifies user's name, field 1420 contains user's contact information, while field 1430 contains a list of one or more of the user's clothing items 1440, 1450. The user's clothing items can be represented as instances of the data structure 1300 in FIG. 13.

FIGS. 15A-15B show various meta-data structures. The meta-data structure 1500, 1540, are grouped according to the anticipated query to enable efficient response to the query. The meta-data structure 1500 in FIG. 15A is three levels deep. The first level 1510 can contain the field of the data structure 1300 in FIG. 13, such as the brand. The second level 1520, 1530 can contain various brands that the user owns, such as Levi's, Versace, etc. The third level contains clothing items associated with each of the brands 1520, 1530.

The meta-data structure 1540 in FIG. 15B is four levels deep. The first level 1550 can contain the field of the data structure 1300 and FIG. 13, such as care information. The second level 1560, 1570 can contain various subcategories of care information 1550, such as washing instructions 1560 and drying instructions 1570. The third level can contain various subcategories of washing instructions 1560 and drying instructions 1570. For example, washing instructions 1560 can be subdivided into categories 1580, 1590, 1505 according clothing item color. Category 1580 corresponds to clothing items having a color similar to red, category 1590 corresponds to clothing items having a color similar to white, category 1505 corresponds to clothing items that can be washed with any color. The fourth level contains clothing items associated with each of the clothing item colors 1580, 1590, 1505.

Washing instructions categories 1580, 1590, and 1505 can be displayed to the user as bins containing items that should be washed together. Drying instructions category 1570 can also be displayed as a bin to the user containing items that should be dried together.

FIG. 16 is a flowchart of a method to efficiently respond to a query regarding a clothing item. In step 1600 a processor receives a clothing item identification (ID) of the clothing item, a content information of the clothing item, and a care information of the clothing item. Along with the clothing item ID, the processor can also receive an indication the clothing item ID is unique to the particular instance of the clothing item. By causing a clothing item identification (ID) to be encoded within the clothing item the consumption of textile used in manufacturing of a clothing item label is minimized.

In step 1610, the processor creates, in a database, a data structure organized to enable efficient response to an anticipated query by defining multiple fields in the data structure corresponding to the anticipated query. Multiple fields include an ID field containing the ID associated with the clothing item, a content field containing the content information of the clothing item, a care field containing the care information of the clothing item, a place of manufacture field containing the place for the garment is manufactured, size field containing the size of the garment, a type field containing the type of the garment, brand field containing the brand of the garment, the size chart field containing human measurements corresponding to various sizes, etc. One or more of the fields in the data structure can contain a second data structure, which also includes multiple fields corresponding to the anticipated query. An example of the second data structure is content data structure 1350 in FIG. 13.

When the clothing item ID, received in step 1600, is unique, the processor can dynamically create a field in a data structure to store history associated with the clothing item ID. For example, the history can contain wash history of the clothing item, purchasing history of the clothing item, transportation history the clothing item, distribution history of the clothing item, etc.

In step 1620, the processor, upon receiving a query, extracts a response to the query from the data structure in the database by retrieving a field among multiple fields corresponding to the query.

The processor can also group the data structure into a meta-data structure according to the anticipated query to enable efficient response to the query. Examples of the meta-data structures are shown in FIGS. 15A-15B.

The processor can also receive information uniquely associated with a user of the clothing item, and associate the user information and the clothing item ID in the database. Once the user information and the clothing item ID are associated, the processor can offer various incentives to the user of the clothing item.

In one embodiment, once the user information and the clothing item ID are associated, the processor can identify a frequently recurring field in the data structure associated with the clothing item ID and the user, and offer a discount to the user for clothing items having properties substantially similar to the frequently recurring field in the data structure. For example, the processor can identify that in the wardrobe of user John Smith a frequently recurring feature is a white Cashmere sweater. The processor can then offer a discount on white Cashmere sweater on sale, a discount on Cashmere sweaters, or a discount on sweaters.

In another embodiment, once the user information and the clothing item ID are associated, if the clothing item ID is unique to the particular instance of the clothing item, the processor can track a number of times the clothing item has been subjected to a clothing item cleaning appliance, and offer to the user to purchase a new clothing item based on the number of times clothing item has been subjected to the clothing item cleaning appliance. For example, if the clothing item has been washed more than 50 times, the processor can offer to the user to purchase with a single click the identical clothing item, with a different clothing item ID.

In a third embodiment, once the user information and the clothing item ID are associated, the processor can group multiple data structures associated with the user into multiple bins, wherein each bin includes clothing items that have the same care information. Subsequently, the processor can send information contained in multiple bins to the user.

The processor can also receive a query from a device, where the query includes the clothing item ID contained in the database. Upon receiving the query from the user device, the processor can obtain a geolocation of the device querying the database. Based on the geolocation of the user device, the processor can send a response to the query to the device, where the response is translated into a language associated with the geolocation of the user device.

Given a new clothing item, the processor can determine the care information for the clothing item based on the content information of the clothing item. The content information of the clothing item can include material contained in the clothing item and the percentage of the material contained in the clothing item.

To determine care information for the new clothing item, in one embodiment, the processor can retrieve from the database multiple data structures associated with multiple clothing items, and use machine learning to determine the care information for the clothing item based on the care information of multiple clothing items. Once the machine learning determines the new set of care information, an administrator can clean the clothing item according to the new set of care information and provide feedback to the machine learning system whether the new set of care information performed well in cleaning the clothing item. Based on the feedback from the administrator, the machine learning system can positively or negatively reinforce the method used in reaching the new set of care information. For example, if the machine learning system is a neural network, and the feedback received from the administrator is positive feedback, the strength of the connections between the neurons that produced the new set of care information can be strengthened. Conversely, if the machine learning system is a neural network, and the feedback received from the administrator is negative feedback, the strength of the connections between the neurons that produced the new set of care information can be weakened.

To determine care information for the new clothing item, and another embodiment, the processor can retrieve from the database multiple data structures associated with multiple clothing items, the processor can find a first clothing item among multiple clothing items having the content information closest to the content information of the clothing item than any other clothing item among multiple clothing items. The closest content can be measured as described in this application. Finally, the processor can assign the care information of the clothing item to correspond to a care information of the first clothing item.

The processor can track multiple content information associated with multiple clothing items when multiple clothing items have been sold. The processor can determine a content information among multiple content information with a highest number of sales. The processor can send a notification to the user that the determined content information has the highest number of sales.

FIG. 17 is a flowchart of a method to enable efficient updates to care and content information of a clothing item. In step 1700, a processor receives a clothing item identification (ID) associated with a clothing item, a content information of the clothing item, and a care information associated with the clothing item.

In step 1710, the processor creates in a database a data structure organized to enable an efficient update by defining multiple fields in the data structure corresponding to an anticipated update. Multiple fields include an ID field containing the clothing item ID, a content field containing the content information of the clothing item, a care field containing the care information of the clothing item, a place of manufacture field containing the place for the garment is manufactured, size field containing the size of the garment, a type field containing the type of the garment, brand field containing the brand of the garment, the size chart field containing human measurements corresponding to various sizes, etc. One or more fields can contain a second data structure as described in this application.

In step 1720, the processor determines an update to the data structure. In one embodiment, to determine the updates to the data structure, the processor retrieves from the database multiple content information of multiple clothing items and multiple care information of multiple clothing items. The processor uses machine learning to determine the care information of the clothing item based on multiple care information associated with multiple clothing items, as described in this application.

In another embodiment, to determine the updates to the data structure, the processor retrieves from the database multiple content information of multiple clothing items and multiple care information of multiple clothing items. The processor finds a first clothing item among multiple clothing items having a content information closest to the content information of the clothing item, as described in this application. Finally, the processor assigns the care information of the clothing item to correspond to the care information of the first clothing item.

In step 1730, the processor updates the data structure by assigning a value associated with the update to a field among multiple fields in the data structure corresponding to the update.

FIG. 18 is a flowchart of a method to create a system to efficiently respond to an anticipated query. In step 1800 the communication layer 1100 in FIG. 11 is configured to receive information from a user. The information includes multiple clothing item identifications (IDs) associated with multiple clothing items, multiple content information associated with multiple clothing item IDs, and multiple care information associated with multiple clothing item IDs. The communication layer 1100 can receive an indication that the clothing item ID is unique to the clothing item.

In step 1810, the routing engine 1110 in FIG. 11 is configured to distribute a message, including the information received from the user, between the communication layer 1100 and at least one of the clothing item analyzer 1120 in FIG. 11, the profile processor 1130 in FIG. 11, or the suggestion engine 1140 in FIG. 11.

In step 1820, the clothing item analyzer 1120 is configured to organize multiple clothing item IDs into multiple categories based on multiple content information and multiple care information associated with multiple clothing item IDs. Multiple categories are organized to enable efficient response to a first anticipated query including a clothing item ID, a clothing item type, or a clothing item brand. For example, the multiple categories can correspond to multiple data structures such as data structures shown in FIGS. 13, 14, 15A, 15B. In a more specific example, the clothing item analyzer 1120 can create a clothing item type category and organize it as shown in FIG. 15A, where the root node 1510 corresponds to clothing item type, instead of clothing item brand. Clothing item type can be pants, a shirt, a sweater, etc. In another specific example, the clothing item analyzer 1120 can create a brand and organize it is shown in FIG. 15A. In a third specific example, the clothing item analyzer 1120 can create clothing item ID category and organize it as shown in the data structure 1300 and FIG. 13. Further, when the clothing item ID is unique to the clothing item the clothing item analyzer 1120 can store history associated with the clothing item ID, such as wash history, distribution history purchasing history, etc. into the appropriate data structure.

In step 1830, the profile processor 1130 in FIG. 11 is configured to organize user information including a user identification and multiple clothing item IDs associated with the user into multiple profile categories. Multiple profile categories are organized to enable efficient response to a second anticipated query, which includes the user identification, a care information, and multiple clothing item IDs associated with the user. For example, the multiple profile categories can correspond to the data structure 1400 in FIG. 14 and data structure 1540 in FIG. 15B. The data structure 1400 includes user identification 1410, 1420, and multiple clothing item IDs 1440, 1450 associated with the user. The category containing the care information can correspond to the meta-data structure 1540 in FIG. 15B. The root node 1550 of care information meta-data structure contains various care instructions such as washing instructions 1560, drying instructions 1570, ironing instructions (not shown), etc. The washing instructions 1560 can be further subdivided according to color of the multiple clothing item IDs. Each node 1560, 1570 can be further subdivided, until the leaf nodes clothing item 1, clothing item 2, clothing item 3 contain the clothing item data structure 1300 in FIG. 13. The profile processor 1130 can create the data structures described above.

To create the data structure 1400 in FIG. 14, the profile processor 1130 in FIG. 11 can receive information uniquely associated with the user of the clothing item, such as purchaser name 1410 and purchaser contact 1420, and associate the information uniquely associated with the user to the clothing item ID 1440, 1450 to obtain the data structure 1400. Further, when the clothing item ID is unique to the clothing item the profile processor 1130 can store history associated with the clothing item ID, such as wash history, distribution history purchasing history, etc. into the appropriate data structure.

The suggestion engine 1140 in FIG. 11 can be configured to analyze multiple care information and multiple content information. Based on the analysis of care and content information, the suggestion engine 1140 provides suggestions about updates to multiple care information. The suggestion engine 1140 can be configured to determine the care information for a clothing item based on a content information of the clothing item. The content information of the clothing item includes material contained in the clothing item and a percentage of the material contained in the clothing item.

In one example, to determine the care information for the clothing item, the suggestion engine 1140 can be configured to retrieve multiple content information and multiple care information associated with multiple clothing items, and use machine learning to determine the care information for the clothing item based on multiple content information and multiple care information associated with multiple clothing items. Once the machine learning determines the new set of care information, an administrator can clean the clothing item according to the new set of care information and provide feedback to the machine learning system whether the new set of care information performed well in cleaning the clothing item. Based on the feedback from the administrator, the machine learning system can positively or negatively reinforce the method used in reaching the new set of care information. For example, if the machine learning system is a neural network, and the feedback received from the administrator is positive feedback, the strength of the connections between the neurons that produced the new set of care information can be strengthened. Conversely, if the machine learning system is a neural network, and the feedback received from the administrator is negative feedback, the strength of the connections between the neurons that produced the new set of care information can be weakened.

In another example, to determine the care information for the clothing item, the suggestion engine 1140 can be configured to retrieve multiple care information and multiple content information associated with multiple clothing items. The suggestion engine 1140 can find a first clothing item among multiple clothing items having the content information closest to the content information of the clothing item than any other clothing item among multiple clothing items, as described in this application. The suggestion engine 1140 can assign the care information of the clothing item to correspond to a care information of the first clothing item.

Further, the suggestion engine 1140 can track multiple content information associated with multiple clothing items when multiple clothing items have been sold. The suggestion engine 1140 can determine a content information among multiple content information with a highest number of sales, and send a notification to the user that the determined content information has the highest number of sales.

The profile processor 1130, the suggestion engine 1140, and/or the clothing item analyzer 1120 in FIG. 11 can identify a frequently recurring field in the data structure associated with the clothing item ID and the user, and offer a discount to the user for clothing items having properties substantially similar to the frequently recurring field in the data structure. For example, the profile processor 1130, the suggestion engine 1140, and/or the clothing item analyzer 1120 can identify that the user's wardrobe contains a lot of jeans, and offer to the user discount for purchasing jeans in the future.

The profile processor 1130, the suggestion engine 1140, and/or the clothing item analyzer 1120 in FIG. 11 can track a number of times the clothing item has been subjected to a clothing item cleaning appliance, and offer to the user to purchase a new clothing item based on the number of times clothing item has been subjected to the clothing item cleaning appliance. For example, once the profile processor 1130, the suggestion engine 1140, and/or the clothing item analyzer 1120 determine that the clothing item has been washed 50 times, the profile processor 1130, the suggestion engine 1140, and/or the clothing item analyzer 1120 can offer to the user to purchase a replacement clothing item with a one click purchase.

The profile processor 1130 in FIG. 11 can group multiple clothing item IDs associated with the user into multiple bins. Each bin among multiple bins includes clothing items that have the same care information. The profile processor 1130 can send the information contained in multiple bins to the user.

A translation module 1150 in FIG. 11 can be configured to obtain a geolocation of a device sending a query to the communication layer. Based on the geolocation of the device, the translation module 1150 can send a response to the query to the device, the response translated into a language associated with the geolocation of the device.

FIG. 19 is a flowchart of a method to create a system to efficiently update care and content information of a clothing item. In step 1900 the communication layer 1100 in FIG. 11 is configured to receive information from a user, which includes multiple clothing item identifications (IDs) associated with multiple clothing items, multiple content information associated with multiple clothing item IDs, and multiple care information associated with multiple clothing item IDs.

In step 1910 the routing engine 1110 in FIG. 11 is configured to distribute a message, including the information received from the user, between the communication layer and at least one of the clothing item analyzer 1120 in FIG. 11, the suggestion engine 1140 in FIG. 11, or the profile processor 1130 in FIG. 11.

In step 1920 the clothing item analyzer 1120 is configured to organize multiple clothing item IDs into multiple categories based on multiple content information and multiple care information associated with multiple clothing item IDs. Multiple categories include a data structure organized to enable an efficient update by defining multiple fields in the data structure corresponding to an anticipated update. Multiple fields can include an ID field containing a clothing item ID, and a care field containing a care information for the clothing item. For example, the multiple categories can correspond to multiple data structures such as data structures shown in FIGS. 13, 14, 15A, 15B. In a more specific example, the clothing item analyzer 1120 can create clothing item ID category and organize it as shown in the data structure 1300 in FIG. 13.

In step 1930, the suggestion engine 1140 is configured to determine the care information for a clothing item based on the content information of the clothing item, multiple content information associated with multiple clothing items and multiple care information associated with multiple clothing items. The content information of the clothing item includes material contained in the clothing item and a percentage of the material contained in the clothing item.

The suggestion engine 1140 can determine the care information by retrieving multiple content information of multiple clothing items and multiple care information of multiple clothing items, and by using machine learning to determine the care information of the clothing item based on multiple care information associated with multiple clothing items, as described in this application.

The suggestion engine 1140 can determine the care information by retrieving multiple content information of multiple clothing items and multiple care information of multiple clothing items. Next, the suggestion engine 1140 can find a first clothing item among multiple clothing items having a content information closest to the content information of the clothing item, as described in this application. Finally, the suggestion engine 1140 can assign the care information of the clothing item to correspond to the care information of the first clothing item.

Once the suggestion engine 1140 determines the care information of the clothing item, the clothing item analyzer 1120, the profile processor 1130, and the suggestion engine 1140 can update their respective data structures by assigning the new care information to the corresponding care fields.

FIG. 20 shows a platform to create and print a label. The label 2010 can be a clothing label, an accessories label, etc., printed on a tag attached to clothing, or printed on the clothing itself. The label can be printed on a ribbon of a predefined width such as 32 millimeters or 25 millimeters.

A user of the platform 2000 can specify properties of the item for which the label 2010 is created. For example, element 2020 of the platform 2000 can provide the user with the option to specify the location where the product is made. The element 2020 can have a drop-down list of possible locations. By providing predetermined locations, and not allowing the user to type in the information, the platform 2000 guarantees that there are no typos in the information contained in the label 2010. Consequently, the platform 2000 avoids printing errors, such as typos and spelling errors, and reduces the consumption of the ribbon on which the labels are printed. When the user specifies the location, the platform 2000 can populate the front side of the label 2010A in a label preview 2030 with the provided information. The label preview 2030 can include the front side of the label 2010A and the back side of the label 2010B.

FIGS. 21A-C show a platform that adjusts based on user selections. In FIG. 21A, the platform 2000 can present the user with an option 2100 to specify the type of material contained in the item. The platform 2000 can include a list of predetermined compositions such as 100% cotton, 100% silk, 50% cotton, 50% polyester, etc. But providing predetermined options, and not allowing the user to type in the information, the platform 2000 reduces the consumption of the unsustainable material contained in the ribbon, as explained in this application.

For example, the user can select 100% cotton, as shown in element 2100 in FIG. 21A. Based on the selection of option 2100, the platform 2000 can present care options 2110-2140 in FIG. 21B that can be applied to a 100% cotton item. If the user selects 100% silk, the care options 2110, 2120, 2130, 2140 correspond to care options for 100% silk material. Upon receiving a selection of one of the care options 2110-2140, the platform 2000 can include the care options on the backside 2010B of the label 2010 as shown in FIG. 21C. The options such as 2100-2140 presented to the user can be stored on a cloud computer and can be periodically updated, as described in this application.

In addition, element 2160 in FIG. 21C can enable the user to provide the composition of the clothing item and/or care instructions for the clothing item. If the user cannot find appropriate composition and/or care instructions in the elements 2100-2150, the platform 2000 can receive typed input from the user and can perform spelling and typing corrections on the received input, to prevent errors in the printed labels.

The user can preview the layout of the label in the label preview window 2030. Once the user is satisfied with the layout of the labels, the user can request to print the labels using element 2150. In addition, the platform 2000 can obtain payment for printing inside the application by using, for example, PayPal, Google Wallet, Apple Pay, etc.

FIGS. 22A-22D show various layouts of a label that the platform 2000 can produce. The platform 2000 can obtain a layout template 2010A, 2010B in FIGS. 20-21C, and/or user preferences associated with the user. The layout template can include user preferences. The layout template can indicate whether the label is horizontal, as shown in FIGS. 22A-22B, or vertical, as shown in FIGS. 22C-22D. The user preferences can indicate a range of acceptable sizes for the label 2200, 2210, 2230, 2240, a range of acceptable printer fonts, and a range of numbers representing labels to print. The range of numbers can indicate that the platform 2000 can print 1-3 labels. The layout template can also include the preferred label size, preferred font, etc. For example, a particular user such as a fashion brand can provide a size of the label such as one and a half inches, and no longer than two inches. In another example, the customer can specify that the width of the label cannot be changed, can specify that the width of the label can be only the predefined width of the ribbon, such as 32 millimeters or 25 millimeters.

The user preferences can indicate which restrictions are more important than others. For example, user preferences can include a restriction that the width of the label cannot change, which is the most important restriction, while all the other restrictions are less important. In another example, the user preferences can indicate that both the width and the height of the label are set, but that other restrictions are less important. The platform can take the importance of the restrictions into account and can adjust the less important restrictions, before adjusting the more important restrictions when determining the layout.

For example, the platform 2000 in FIGS. 20-21C can receive selected information from the user that cannot fit within the layout template having a preferred size in a preferred font. The platform 2000 can then reduce the font size and/or shrink the spacing between lines printed on the label 2200-2230. If, after reaching the minimum specified font size and minimum line spacing, the selected information cannot be included in the label 2200-2230, platform 2000 can adjust the height of the label 2200-2230. The user preferences can specify that the height of the label 2200-2230 is fixed, or that the height cannot exceed a certain size, such as 5 cm. If the selected information cannot be contained within the maximum size of the label specified by user preferences, the platform 2000 can determine to add another label and put the selected information on the additional label. The platform 2000 can match the sizes of multiple labels and distribute the selected information among the multiple labels. The platform can vary the sizes of the multiple labels within the predetermined user preferences.

FIG. 23 shows an architecture of a system to create and print a label. The user device 2300 can run the platform 2000 in FIGS. 20-22D locally, or part of the platform 2000 can run on server 2310, and part on the user device 2300. The user device 2300 can be a networked electronic device such as a desktop computer, a laptop computer, a notebook computer system, a tablet, a mobile telephone, a smart watch, a personal digital assistant (PDA), etc. The server 2310 can be part of a cloud, can control the printer 2320, and can provide the information that needs to be printed to the printer 2320.

The printer 2320 can be a thermal transfer printer, a digital printer, a hot stamping printer, a flexography printer, etc. The printer 2320 can print on paper and/or cloth labels. The printer 2320 can be network-enabled with unique IP address, that allows remote control and printing. In addition, the printer 2320 can receive information to print from the user device 2300 and/or the server 2310 and can encode that information in an electronic device contained in the label. The information to print can include a QR code. The electronic device can be a chip configured to communicate using Radio-Frequency Identification (RFID) protocol and/or Near Field Communication (NFC) protocol. The system shown in FIG. 23 can save the amount of ribbon used for printing a label because the platform 2000 removes typos and spelling errors from the information printed on the label.

FIG. 24 is a flowchart of a method to create a label, according to one embodiment. In step 2400, a hardware or a software processor executing instructions described herein can present to a user a plurality of options representing information to include in a label, such as a clothing label. The options can be as shown in FIGS. 20-21C.

In step 2410, the processor can receive a selection of a portion of the plurality of options indicating selected information to include in the clothing label. For example, the processor can receive the location of manufacture, the material content of the clothing item, and/or the care instructions for the clothing item. The processor can eliminate typing errors and/or spelling errors by including only selected information within the label and not allowing the user to type in the information. Alternatively, the processor can allow the user to type information to include in the label, but the processor can perform a spelling and grammar check prior to printing.

In step 2420, the processor can obtain a layout template associated with the user. The layout template can indicate the orientation of the label (whether it is vertical or horizontal) and user preferences associated with the label, as described in this application.

In step 2430, based on the selected information and the layout template, the processor can determine the layout of the clothing label. The clothing label can include a front side and a back side. The clothing label can include the selected information. The selected information can be printed as text on the clothing label and/or as a QR code 2240 in FIG. 22D. In addition, or instead of, the selected information can be encoded in an electronic device such as a chip within the label communicating using a wireless protocol such as RFID, NFC, Bluetooth, etc. The printer 2320 in FIG. 23 can print the clothing label and can encode the electronic device during the same printing process.

To determine the layout of the clothing label, the processor can obtain a user preference associated with adjusting the properties of the clothing label. The user preferences can be as described in this application and can indicate a range of acceptable fonts or heights, whether the width of the label is adjustable, a number of total labels, etc. Based on the user preference, the processor can adjust the properties of the clothing label, such as width, length, number of clothing labels, and the properties of the selected information printed on the clothing label, such as font size, spacing between lines, margins, etc. The properties of the clothing labels can vary between users of the system. In one example, if the selected information cannot be printed within the label while respecting user preferences, the processor can encode the information in a QR code, without printing text. Alternatively, the processor can encode information in an electronic device within the label, without printing text. In addition, the processor can encode information in the QR code and/or an electronic device to avoid typing and spelling errors if the user types in a text to include in the label.

In step 2440, the processor can create a visualization of the clothing label, by, for example, presenting a preview to the user as shown in FIGS. 22A-22D. In step 2450, the processor can receive an indication to print the clothing label. Finally, in step 2460, the processor can send the layout of the clothing label to a printer. The printer can be a thermal transfer printer, a digital printer, a hot stamping printer, a flexography printer, etc. The printer can print on paper and/or cloth labels. The printer 2320 can be network-enabled with unique IP address, that allows remote control and printing. The printer can print text on the clothing label, and can simultaneously encode the electronic device with the selected information.

The processor can provide additional options to the user based on the user's previous elections. Upon receiving the selection of the portion of the plurality of options, the processor can adjust subsequent options presented to the user based on the selection. For example, upon receiving the selection indicating the material content of the clothing item, the processor can present care options that correspond to that material content. The processor can receive a second selection of a portion of the subsequent options indicating the second selected information to include in the clothing label and can include the second selected information in the clothing label. For example, the processor can receive a selection of the care instructions to include in the label. Consequently, the processor can display the care instructions in the label preview.

FIG. 25 is a flowchart of a method to create a label, according to another embodiment. In step 2500, the processor can present to a user the first group of options representing information to include in a label. The label can be a product label such as a clothing label, accessories label, etc.

In step 2510, the processor can receive the first selection of a portion of the first group of options indicating the first selected information to include in the label. For example, the first selected information can include the manufacturing location, assembly location, etc. The processor can eliminate typos and spelling errors by allowing a user to include only predetermined information in the label, and not allowing the user to type.

In step 2520, upon receiving the first selection of the portion of the group of options, the processor can adjust the second group of options presented to the user based on the first selection. For example, if the first selection indicates that the clothing materials are made from 100% polyester, the care instructions presented to the user can include various care instructions appropriate for polyester clothing. The system can present the second group of options to the user.

In step 2530, the processor can receive a second selection of a portion of the second plurality of options indicating the second selected information to include in the label. For example, the user can select which of the multiple polyester care information to include in the label.

In step 2540, the processor can send the first selected information and the second selected information to a printer to print the first selected information and the second selected information onto a label. The printer can print information in text on the label, can print information as a QR code on the label, and/or can encode information on an electronic device embedded in the label. The processor can perform the printing of the text and/or the QR code during the same printing step as encoding information on the electronic device.

To print the information as text or as a QR code on the label, the processor can obtain a layout template associated with the user, which can indicate the orientation of the label (whether the label is horizontal or vertical), the user preferences associated with the label, and the text printed on the label. Based on the first selection, the second selection, and the layout template, the processor can determine the layout of the label. The processor can create a visualization of the label. The processor can receive an indication to print the label. The processor can send the layout of the label to a printer.

To determine the layout of the label, the processor can obtain a user preference associated with adjusting the properties of the label. The user preference can indicate to not adjust the width of the label or the height of the label but to adjust the number of labels if needed. The user preference can also indicate to adjust spacing and font but to not adjust the number of labels. Based on the user preference, the processor can adjust the properties of the label and the properties of the selected information printed on the label.

To determine the layout of the label, the processor can adjust a print font or a spacing between lines in the layout of the label within predetermined boundaries. The processor can adjust the length of the label to accommodate the selected information. The processor can adjust a number of labels to accommodate the selected information.

Computer

FIG. 26 is a diagrammatic representation of a machine in the example form of a computer system 2600 within which a set of instructions, for causing the machine to perform any one or more of the methodologies or modules discussed herein, may be executed.

The computer system 2600 can be a part of the clothing item cleaning appliance, a device separate from the clothing item cleaning appliance, such as a cell phone, and/or the system in FIG. 11.

When the computer system 2600 is part of the clothing item cleaning appliance, a processor of the computer system 2600 can receive the clothing item ID, and retrieve from a database care and content information associated with the clothing item ID. The display of the computer system 2600 can display an error code, when clothing items with disparate care and content information are placed within the clothing item cleaning appliance.

When the computer system 2600 is part of the device separate from the clothing item cleaning appliance, the processor of the computer system 2600 can receive the clothing item ID, communicate with a database storing the care and content information, and operate the clothing item cleaning appliance. The display of the computer system 2600 can communicate with a user by, for example, displaying a user's wardrobe arranged in clothing bins according to care information.

When the computer system 2600 is part of the system shown in FIG. 11, the computer system 2600 can contain one or more processors implementing the communication layer 1100, the routing engine 1110, the clothing item analyzer 1120, the profile processor 1130, the suggestion engine 1140, and the translation module 1150, in software and/or in hardware.

The various databases disclosing this application can exist in the main memory, in the nonvolatile memory, or in the machine-readable storage medium of the computer system 2600. The communication between various elements disclosed in this application can be performed via the network of the computer system 2600.

In the example of FIG. 26, the computer system 2600 includes a processor, memory, non-volatile memory, and an interface device. Various common components (e.g., cache memory) are omitted for illustrative simplicity. The computer system 2600 is intended to illustrate a hardware device on which any of the components described in the example of FIGS. 1-25 (and any other components described in this specification) can be implemented. The computer system 2600 can be of any applicable known or convenient type. The components of the computer system 2600 can be coupled together via a bus or through some other known or convenient device.

The processor of the computer system 2600 can execute instructions described in this application, for example, in FIGS. 24, 25. The processor of the computer system 2600 can be associated with the server 2310 in FIG. 23, the user device 2300 in FIG. 23, and/or printer 2320 in FIG. 23. The main memory, nonvolatile memory, and/or the drive unit of the computer system 2600 can store the instructions executed by the processor. The network of the computer system 2600 can be used to communicate between the user device 2300, the server 2310 and/or the printer 2320.

This disclosure contemplates the computer system 2600 taking any suitable physical form. As example and not by way of limitation, computer system 2600 may be an embedded computer system, a system-on-chip (SOC), a single-board computer system (SBC) (such as, for example, a computer-on-module (COM) or system-on-module (SOM)), a desktop computer system, a laptop or notebook computer system, an interactive kiosk, a mainframe, a mesh of computer systems, a mobile telephone, a personal digital assistant (PDA), a server, or a combination of two or more of these. Where appropriate, computer system 2600 may include one or more computer systems 2600; be unitary or distributed; span multiple geolocations; span multiple machines; or reside in a cloud, which may include one or more cloud components in one or more networks. Where appropriate, one or more computer systems 2600 may perform without substantial spatial or temporal limitation one or more steps of one or more methods described or illustrated herein. As an example and not by way of limitation, one or more computer systems 2600 may perform in real time or in batch mode one or more steps of one or more methods described or illustrated herein. One or more computer systems 2600 may perform at different times or at different geolocations one or more steps of one or more methods described or illustrated herein, where appropriate.

The processor may be, for example, a conventional microprocessor such as an Intel Pentium microprocessor or Motorola power PC microprocessor. One of skill in the relevant art will recognize that the terms “machine-readable (storage) medium” or “computer-readable (storage) medium” include any type of device that is accessible by the processor.

The memory is coupled to the processor by, for example, a bus. The memory can include, by way of example but not limitation, random access memory (RAM), such as dynamic RAM (DRAM) and static RAM (SRAM). The memory can be local, remote, or distributed.

The bus also couples the processor to the non-volatile memory and drive unit. The non-volatile memory is often a magnetic floppy or hard disk, a magnetic-optical disk, an optical disk, a read-only memory (ROM), such as a CD-ROM, EPROM, or EEPROM, a magnetic or optical card, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, into memory during execution of software in the computer 2600. The non-volatile storage can be local, remote, or distributed. The non-volatile memory is optional because systems can be created with all applicable data available in memory. A typical computer system will usually include at least a processor, memory, and a device (e.g., a bus) coupling the memory to the processor.

Software is typically stored in the non-volatile memory and/or the drive unit. Indeed, storing and entire large program in memory may not even be possible. Nevertheless, it should be understood that for software to run, if necessary, it is moved to a computer readable geolocation appropriate for processing, and for illustrative purposes, that geolocation is referred to as the memory in this paper. Even when software is moved to the memory for execution, the processor will typically make use of hardware registers to store values associated with the software, and local cache that, ideally, serves to speed up execution. As used herein, a software program is assumed to be stored at any known or convenient geolocation (from non-volatile storage to hardware registers) when the software program is referred to as “implemented in a computer-readable medium.” A processor is considered to be “configured to execute a program” when at least one value associated with the program is stored in a register readable by the processor.

The bus also couples the processor to the network interface device. The interface can include one or more of a modem or network interface. It will be appreciated that a modem or network interface can be considered to be part of the computer system 2600. The interface can include an analog modem, isdn modem, cable modem, token ring interface, satellite transmission interface (e.g. “direct PC”), or other interfaces for coupling a computer system to other computer systems. The interface can include one or more input and/or output devices. The I/O devices can include, by way of example but not limitation, a keyboard, a mouse or other pointing device, disk drives, printers, a scanner, and other input and/or output devices, including a display device. The display device can include, by way of example but not limitation, a cathode ray tube (CRT), liquid crystal display (LCD), or some other applicable known or convenient display device. For simplicity, it is assumed that controllers of any devices not depicted in the example of FIG. 26 reside in the interface.

In operation, the computer system 2600 can be controlled by operating system software that includes a file management system, such as a disk operating system. One example of operating system software with associated file management system software is the family of operating systems known as Windows® from Microsoft Corporation of Redmond, Wash., and their associated file management systems. Another example of operating system software with its associated file management system software is the Linux™ operating system and its associated file management system. The file management system is typically stored in the non-volatile memory and/or drive unit and causes the processor to execute the various acts required by the operating system to input and output data and to store data in the memory, including storing files on the non-volatile memory and/or drive unit.

Some portions of the detailed description may be presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or “generating” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.

The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the methods of some embodiments. The required structure for a variety of these systems will appear from the description below. In addition, the techniques are not described with reference to any particular programming language, and various embodiments may thus be implemented using a variety of programming languages.

In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.

The machine may be a server computer, a client computer, a personal computer (PC), a tablet PC, a laptop computer, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, an iPhone, a Blackberry, a processor, a telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.

While the machine-readable medium or machine-readable storage medium is shown in an exemplary embodiment to be a single medium, the term “machine-readable medium” and “machine-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” and “machine-readable storage medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies or modules of the presently disclosed technique and innovation.

In general, the routines executed to implement the embodiments of the disclosure, may be implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions referred to as “computer programs.” The computer programs typically comprise one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processing units or processors in a computer, cause the computer to perform operations to execute elements involving the various aspects of the disclosure.

Moreover, while embodiments have been described in the context of fully functioning computers and computer systems, those skilled in the art will appreciate that the various embodiments are capable of being distributed as a program product in a variety of forms, and that the disclosure applies equally regardless of the particular type of machine or computer-readable media used to actually effect the distribution.

Further examples of machine-readable storage media, machine-readable media, or computer-readable (storage) media include but are not limited to recordable type media such as volatile and non-volatile memory devices, floppy and other removable disks, hard disk drives, optical disks (e.g., Compact Disk Read-Only Memory (CD ROMS), Digital Versatile Disks, (DVDs), etc.), among others, and transmission type media such as digital and analog communication links.

In some circumstances, operation of a memory device, such as a change in state from a binary one to a binary zero or vice-versa, for example, may comprise a transformation, such as a physical transformation. With particular types of memory devices, such a physical transformation may comprise a physical transformation of an article to a different state or thing. For example, but without limitation, for some types of memory devices, a change in state may involve an accumulation and storage of charge or a release of stored charge. Likewise, in other memory devices, a change of state may comprise a physical change or transformation in magnetic orientation or a physical change or transformation in molecular structure, such as from crystalline to amorphous or vice versa. The foregoing is not intended to be an exhaustive list in which a change in state for a binary one to a binary zero or vice-versa in a memory device may comprise a transformation, such as a physical transformation. Rather, the foregoing is intended as illustrative examples.

A storage medium typically may be non-transitory or comprise a non-transitory device. In this context, a non-transitory storage medium may include a device that is tangible, meaning that the device has a concrete physical form, although the device may change its physical state. Thus, for example, non-transitory refers to a device remaining tangible despite this change in state.

Remarks

The language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this Detailed Description, but rather by any claims that issue on an application based hereon. Accordingly, the disclosure of various embodiments is intended to be illustrative, but not limiting, of the scope of the embodiments, which is set forth in the following claims. 

1. A method comprising: presenting to a user a plurality of options representing information to include in a clothing label; receiving a selection of a portion of the plurality of options, wherein the selection indicates a selected information to include in the clothing label obtaining a layout template associated with the user, wherein the layout template indicates a layout of the clothing label, wherein the clothing label is configured to be printed on a ribbon not exceeding 32 millimeters in width; based on the selected information and the layout template, determining the layout of the clothing label, wherein the clothing label includes a front side and a back side, and wherein the clothing label includes the selected information; reducing consumption of the ribbon used in printing the clothing label by: receiving an input from the user indicating information to include in the clothing label, wherein the information to include in the clothing label is limited to a predetermined information including human-readable information comprising a place of manufacture, care information and content information, the predetermined information having a size configured to fit on the clothing label not exceeding 32 mm in width; automatically generating a text to be included the clothing label based on the input, thereby eliminating a need to reprint the clothing label due to typos and spelling errors; enabling the user to check an appearance of the clothing label prior to printing by creating a visualization of the layout of the clothing label; receiving an indication to print the clothing label; and sending the layout of the clothing label to a printer.
 2. The method of claim 1, the determining the layout of the clothing label comprising: obtaining a user preference associated with adjusting properties of the clothing label and properties of the selected information printed on the clothing label; and based on the user preference, adjusting the properties of the clothing label and the properties of the selected information printed on the clothing label.
 3. The method of claim 1, comprising: printing the selected information onto an electronic device coupled to the clothing label; and printing the selected information onto the clothing label.
 4. The method of claim 1, the determining the layout of the clothing label comprising: adjusting a print font or a spacing between lines in the layout of the clothing label within predetermined boundaries.
 5. The method of claim 1, comprising: upon receiving the selection of the portion of the plurality of options, adjusting a subsequent plurality of options presented to the user based on the selection; receiving a second selection of a portion of the subsequent plurality of options, wherein the second selection indicates a second selected information to include in the clothing label; and including the second selected information in the clothing label.
 6. A method comprising: presenting to a user a first plurality of options representing information to include in a label; receiving a first selection of a portion of the first plurality of options, wherein the first selection indicates a first selected information to include in the label; upon receiving the first selection of the portion of the first plurality of options, adjusting a second plurality of options presented to the user based on the first selection; receiving a second selection of a portion of the second plurality of options, wherein the second selection indicates a second selected information to include in the label; receiving an input from the user indicating information to include in the label, wherein the information to include in the label is limited to a predetermined information including human-readable information comprising a place of manufacture, care information and content information, the predetermined information having a size configured to fit on the label not exceeding 32 mm in width; automatically generating a text to be included the label based on the input, thereby eliminating a need to reprint the label due to typos and spelling errors; enabling the user to check an appearance of the label prior to printing by creating a visualization of a layout of the label, wherein the label is configured to be printed on a substrate not exceeding 32 millimeters in width; and sending the first selected information and the second selected information to a printer.
 7. The method of claim 6, comprising: obtaining a layout template associated with the user; and based on the first selected information, the second selected information and the layout template, determining the layout of the label.
 8. The method of claim 7, the determining the layout of the label comprising: obtaining a user preference associated with adjusting properties of the label and properties of the first selected information and the second selected information printed on the label; and based on the user preference, adjusting the properties of the label and the properties of the first selected information and the second selected information printed on the label.
 9. The method of claim 7, the determining the layout of the label comprising: adjusting a print font or a spacing between lines in the layout of the label within predetermined boundaries.
 10. The method of claim 7, the determining the layout of the label comprising: adjusting a length of the label to accommodate the first selected information and the second selected information.
 11. The method of claim 7, the determining the layout of the label comprising: adjusting a number of labels to accommodate the first selected information and the second selected information.
 12. The method of claim 6, comprising: printing the first selected information and the second selected information onto an electronic device coupled to the label.
 13. A system comprising: one or more processors; memory coupled to the one or more processors, wherein the memory includes instructions executable by the one or more processors to: present to a user a first plurality of options representing information to include in a label; receive a first selected information to include in the label; upon receiving the first selected information, adjust a second plurality of options presented to the user based on the first selected information; receive a second selected information to include in the label; receive an input from the user indicating information to include in the label, wherein the information to include in the label is limited to a predetermined information including human-readable information comprising a place of manufacture, care information and content information, the predetermined information having a size configured to fit on the label not exceeding 32 mm in width; automatically generate a text to be included the label based on the input, thereby eliminating a need to reprint the label due to typos and spelling errors; enable the user to check an appearance of the label prior to printing by creating a visualization of a layout of the label, wherein the label is configured to be printed on a substrate not exceeding 32 millimeters in width; and send the first selected information and the second selected information to a printer.
 14. The system of claim 13, comprising the instructions to: obtain a layout template associated with the user; and based on the first selected information, the second selected information and the layout template, determine the layout of the label.
 15. (canceled)
 16. The system of claim 14, the instructions to determine the layout of the label comprising the instructions to: obtain a user preference associated with adjusting properties of the label and properties of the first selected information and the second selected information printed on the label; and based on the user preference, adjust the properties of the label and the properties of the first selected information and the second selected information printed on the label.
 17. The system of claim 14, the instructions to determine the layout of the label comprising the instructions to: adjust a print font or a spacing between lines in the layout of the label within predetermined boundaries.
 18. The system of claim 14, the instructions to determine the layout of the label comprising the instructions to: adjust a width of the label to accommodate the first selected information and the second selected information.
 19. The system of claim 14, the instructions to determine the layout of the label comprising the instructions to: adjust a number of labels to accommodate the first selected information and the second selected information.
 20. The system of claim 13, comprising the instructions to: print the first selected information and the second selected information onto an electronic device coupled to the label. 